An ink jet printer of the type frequently referred to as drop-on-demand, has at least one printhead from which droplets of ink are directed towards a recording medium. Within the printhead, the ink is contained in a plurality of channels. Piezoelectric devices or power pulses cause the droplets of ink to be expelled as required, from orifices or nozzles located at the end of the channels. In thermal ink-jet printing, the power pulses are usually produced by resistors, also known as heaters, each located in a respective one of the channels. The heaters are individually addressable to heat and vaporize the ink in the channels. As a voltage is applied across a selected heater, a vapor bubble grows in that particular channel and ink bulges from the channel nozzle. At that stage, the bubble begins to collapse. The ink within the channel then retracts and separates from the bulging ink thereby forming a droplet moving in a direction away from the channel nozzle and towards the recording medium whereupon hitting the recording medium, a spot is formed. The channel is then refilled by capillary action, which, in turn, draws ink from a supply container of liquid ink. Operation of a thermal ink jet printer is described in, for example, U.S. Pat. No. 4,849,774.
The ink jet printhead may be incorporated into a carriage type printer, a partial width array type printer, or a page width type printer. The carriage type printer typically has a relatively small printhead containing the ink channels and nozzles. The printhead is usually sealingly attached to a disposable ink supply cartridge and the combined printhead and cartridge assembly is attached to a carriage which is reciprocated to print one swath of information (equal to the length of a column of nozzles) at a time on a stationary recording medium, such as paper or a transparency. After the swath is printed, the paper is stepped a distance equal to the height of a printed swath or a portion thereof, so that the next printed swath is overlapping or contiguous therewith. The procedure is repeated until an entire page is printed. In contrast, the page width printer includes a stationary printbar having a length equal to or greater than the width of the paper. The paper is continually moved past the page width printbar in a direction substantially normal to the printbar length and at a constant or varying speed during the printing process.
The partial width array printer, on the other hand, typically includes one or more partial width arrays for printing in which each of the partial width arrays includes two or more printheads but less than a number of printheads sufficient to print across the entire width or length of a recording sheet. In this type of printer, the printheads are attached to a carriage assembly which is reciprocated back and forth across the surface of a sheet of paper which is attached to a rotating drum. During a single rotation of the drum, a band of information is printed along the sheet in the direction of the sheet travel. The carriage is then stepped across the sheet one length of the partial width arrays at a time so that the entire sheet is printed after a number of rotations equal to the number of steps necessary to complete a printed page.
Printers typically print information received from an image output device such as a personal computer. Typically, these output devices generate pages of information in which each page is written in a page description language. The pages written in the page description language are converted by the printer into bitmaps having a plurality of rows of scan lines.
Laser scanning xerographic printers have influenced the hardware organization of image output devices and the way in which the imaging software produces the bitmaps that are the data source for the laser scanners. In the traditional xerographic video system for a xerographic printer, the data that is sent to the laser scanner is organized in rasters, i.e., words of data of N bits represent the state of N successive pixels that the laser printer scans out across a page. Successive words transmitted to the laser scanner represent contiguous blocks of N pixels that form a full raster line across the page. The last word of data scanned out on a raster line is followed by the first word scanned out on the next line. While this type of operation works well for laser xerographic printers, thermal ink jet printers print in a very different fashion.
In a partial width array or a full width array printbar, a single line of pixels is typically printed in a burst of several banks of nozzles, each bank printing a segment of a line. The banks of nozzles are typically fired sequentially and the nozzles within a bank are fired simultaneously. An ink jet printbar having banks of nozzles is described in U.S. Pat. No. 5,300,968 to Hawkins incorporated herein by reference. These printbars include a plurality of printhead dies wherein each die prints a portion of a line. Within the die, the banks of nozzles print a segment of the portion of the line. Such printbars must be precisely oriented with respect to the process direction so that the printing of a last portion of a line, which is delayed in time from the printing of a first portion of a line, results in a line of pixels that is colinear. To accomplish acceptable printing using this type of printbar, the printbar is not aligned exactly perpendicular to the process direction, but is instead tilted with respect to the process direction. This means that each die prints on a portion of a different scan line.
Since the printbars are angled with respect to the process direction to compensate for the sequential firing of banks of nozzles, the bitmaps arranged in scan lines must be manipulated before printing can occur. This non-raster mode with printing is particularly complicated when compared to printing with a laser xerographic printer. The bitmaps arranged in scan lines cannot be printed raster line by raster line but instead must undergo some transformation. It is therefore important that the transformation be done in a timely manner. Historically, the necessary data manipulation was done with software. Software processing performed the transformations before the data was shipped to the printbar. These processes, however, are time consuming and not very efficient. It is also possible to use costly buffers for temporary storage of data until the printbar requires the information.
Various printers and methods for manipulating image data for printing on a recording medium are illustrated and described in the following disclosures which may be relevant to certain aspects of the present invention.
U.S. Pat. No. 4,779,105 to Thomson et al. describes a printer interface for a non-impact printing apparatus and more particularly to an apparatus which converts originating image data into output image data and a raster scan arrangement suitable for presentation for a printing subsystem.
U.S. Pat. No. 5,016,190 to Thomson describes a method and apparatus for converting data representative of a plurality of cells arranged independently of one another on a page into data in raster scan order for subsequent printing. Cell data for individual cells is fetched in an order dependent on the line of raster scan where the cell first appears and the bit position for the first bit representing the cell.
U.S. Pat. No. 5,084,831 to Morikawa et al. describes a printer having a memory for storing dot image data to be printed. The printer prints in two modes, the first mode being a full bit map mode for storing a page of data and a second strip map mode for a smaller amount of data than a page of data. In the full bitmap mode, the bit data is sent to the printer after all the bit data of a page has been stored in the bitmap memory. In the strip map mode, an image of one page is divided into a plurality of image portions and the bit data is written/read to and from the bitmap memory in the unit of the image portion.
U.S. Pat. No. 5,108,207 to Isobe et al. describes a printer with a variable memory size. The printer includes a memory unit having a first memory area for storing input data and a second memory area for storing image data obtained by developing input data. The first memory area and the second memory area are arranged within the same memory space to form the memory unit. An area control unit changes a proportion of the capacity of the second memory area within the memory unit to alter the relative proportions of the first memory area and the second memory area in the memory space forming the memory unit.
U.S. Pat. No. 5,303,341 to Rivshin describes a video processor for transferring a set of image data from an input device to an output device. The video processor includes a direct memory access arrangement which communicates with a memory and an integrated adapted compressor which buffers a preselected number of bytes. The direct memory access circuit includes a memory access register and a control logic circuit. The memory access register includes a first address counter and a second address counter selectively coupled to an address bus by way of a two-to-one multiplexer.
U.S. Pat. No. 5,307,458 to Freiburg et al. describes a printing machine for concurrently processing first and second sets of image data. The printing machine includes a video processor capable of processing the first set of image data, a system memory, adapted to store the second set of image data, and a bus for transmitting image data, addresses and control data.